1. 概述
1.1 简单程序示例
1.2 背景介绍
Tkinter(音为tea-kay-inter)是Tk的Python接口,Tk是Tcl/Tk的GUI工具包。
Tcl(工具命令语言,音为tickle)是嵌入式应用程序,测试,原型设计和GUI开发领域的流行脚本语言。另一方面,Tk是一个开源的多平台小部件工具包,许多不同语言都使用它来构建GUI程序。而Tkinter只是一个使用Tcl/Tk库的C扩展的包装器
什么是Tcl?
tcl/tk 源码
tcl解释器由C语言写成,代码量不是很大,有兴趣的可以研究一下源码 源码下载
Tkinter的优势
- 简单易学(比Python的其他GUI库简单)
- 跨平台
- 标准库,无需安装
1.3 概念学习
GUI编程的三个核心问题
屏幕上应显示哪些组件? 认识组件的形态
组件应该放在哪里? 学习组件布局
组件如何交互? 组件中的事件
1.3.1 “画板”—— 根窗口
GUI编程是一门艺术,就如同绘画,我们首先需要一个画板来展现。
import tkinter as tk
root = tk.Tk()
root.mainloop()
1.3.2 组件(小控件)
有了画板,我们需要思考哪些组件应该出现在窗口中?
import tkinter as tk
root = tk.Tk()
label = tk.Label(root,text ="我是一个标签")
button = tk.Button(root,text ="我是一个按钮")
label.pack()
button.pack()
root.mainloop()
1.3.3 布局管理(几何管理器)
所谓布局,就是指控制窗体容器中各个控件(组件)的位置关系。tkinter 共有三种几何布局管理器,分别是:pack布局,grid布局,place布局。
我们小时候都玩过积木,只要发挥创意,相同的积木可以堆出各种造型。tkinter的控件也可以看做一个个积木,形状或许不同,其本质都是一样的,都是一个积木。这些小控件都是有许多共性的,掌握重要的几个,其他的用法也都大同小异,因此在学习界面编程时,最重要的不是一开始急于学习每个积木的样子,不是学习每个控件怎么用,而是要学习这些控件该怎么放。初始学习中,怎么放远远比怎么用重要的多。而在网上大量的资料中,全都急迫的介绍每个组件怎么用,没人去讲清楚tkinter编程的一些概念,包括布局都是一笔带过,我认为这是本末倒置。
1.3.4 事件和回调
所谓事件,就是在用户按下一个键或点击鼠标时,应用程序需要做出的反应。简单说就是对外部刺激做出的反应。
命令绑定的示例
import tkinter as tk
def callback():
print("被点击了")
root = tk.Tk()
tk.Button(root, text='单击', command=callback).pack()
root.mainloop()
关注我的公众号:编程之路从0到1